/**
 * utils.js  工具函数---commen.js
 * author:L  time:2022-01-02
 */
/**
 * @formateDate  将格林威治时间转换为北京时间格式
 * @date  格林威治标准时间格式
 * @Separator   分隔符  传入一个分割符 支持返回的日期链接符号的改变 
 * @return str String  '2022-01-02 14:00:00'   '2022/01/02 14:00:00';
 * @status 1(日期+时间)  2(日期)
 */
function formateDate(date, status = 1) {
  let y = date.getFullYear();
  let m = date.getMonth() + 1;
  let d = date.getDate();
  let h = date.getHours();
  let mini = date.getMinutes();
  let s = date.getSeconds();
  m = m < 10 ? '0' + m : m;
  d = d < 10 ? '0' + d : d;
  h = h < 10 ? '0' + h : h;
  mini = mini < 10 ? '0' + mini : mini;
  s = s < 10 ? '0' + s : s;
  //2022-01-02 14:38:00
  let str = '';
  if (status === 1) {
    str = `${y}-${m}-${d} ${h}:${mini}:${s}`;
  } else if (status === 2) {
    str = `${y}-${m}-${d}`;
  } 
  return str;
}




/**
 * @formateSearch   将location.search里面的数据 获取并转换为对象
 * @str  String   '?name=zhangsan&age=20'
 * @returns Object   {name:'zhangsan',age:20}
 */
function formateSearch(str) {
  let obj = {};
  str = str.substr(1);
  let arr = str.split('&'); //['name=zhangsan', 'age=20']
  arr.forEach(function (item) {
    let arr1 = item.split('=');  // ['name','zhangsan']  ['age',20]
    obj[arr1[0]] = arr1[1];
  })
  return obj;
}
/**
 * @formateSearchFlip  将对象转换为location.search里面的数据
 * @obj   {name:'zhangsan',age:20}
 * @returns '?name=zhangsan&age=20'
 */




// ---------------------------------------------------------------------------------------
/**
 * @createToast   创建toast 提示组件
 * @status   Number  1:成功  0：失败 
 * @msg     String  提示文本  '登录成功'
 * @returns  因为是直接在页面中创建节点，不需要写返回数据
 */

function createToast(status = 0, msg = '操作失败') {
  //新增节点的4个步骤
  let div = document.createElement('div');
  div.className = 'toast';
  // 如果status===0(失败) 添加感叹号div  否则status===1(成功)√
  if (status === 0) {
    div.innerHTML = `
    <div class="icon2 iconfont icon-gantanhao2"></div>
    <div class="toast-text">
    ${msg}
    </div>
    `
  } else {
    div.innerHTML = `
    <div class="icon1 iconfont icon-a-Frame3163"></div>
    <div class="toast-text">
    ${msg}
    </div>
    `
  };
  document.body.appendChild(div);

  //等待2s之后 移出这个节点
  setTimeout(function () {
    div.remove()
  }, 2000)
}








// ---------------------------------------------------------------------------------------
//  @createFooter     公用样式 页脚
//  @now   正在调用的页面    

// 当前颜色显示默认给 首页  公共页脚样式
function createFooter(now = 'index') {
  let footer = document.createElement('footer');
  footer.className = "dpflex jastaround";
  // inner添加样式
  footer.innerHTML =
    //如果在当前页面 就显示active改变颜色，否则不管 
    `
      <a href="./index.html">
        <div class="${now === 'index' ? 'active' : ''}">
            <i class="iconfont icon-shouye"></i>
            <p>首页</p>
        </div>
      </a>

      <a href="./sport.html">
        <div class='${now === 'sport' ? 'active' : ''}'>
            <i class="iconfont icon-xinlv"></i>
            <p>运动</p>
        </div>
      </a>
        
      <a href='./mine.html'>
        <div class='${now === 'mine' ? 'active' : ''}'>
            <i class="iconfont icon-wode"></i>
            <p>我的</p>
        </div>
      </a>  
    `
  // 给页面添加dom
  document.body.appendChild(footer);
}




/*将所有的函数 挂载到window */
window.utils = {
  formateDate,
  formateSearch,
  createToast,
  createFooter
}